package com.service.scheduling.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.service.dao.dto.MemberRank;
import com.service.dao.dto.OrderMemberRank;
import com.service.dao.model.OrderProductHrCombo;
import com.service.dao.model.OrderProductHrComboDetails;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 算力订单
 *
 * @author xxxx
 * @email xxxx@qq.com
 * @date 2019-11-10 22:06:11
 */
public interface OrderProductHrComboService extends IService<OrderProductHrCombo> {

    void cancelOrder();

    List<OrderProductHrCombo> listMiningOrder(Integer coinsId, Date startTime);

    void updateHrComboRateOrder2Complete(List<Integer> orderIdList);

    void updateBZZHrComboRateOrder2Complete(List<Integer> orderIdList);

    OrderProductHrComboDetails getHrComboDetail(Integer orderId);

    /**
     * 统计本月排行
     * @param coinsName
     * @param currentMonth
     * @return
     */
    List<MemberRank> totalRankByPayMoneyAndSomeMonth(String coinsName, Date currentMonth);

    /**
     * @Description: 统计全网有效算力总量
     * @Author: ty
     * @Date: 2021/5/8 14:24
     * @param: []
     * @return: java.math.BigDecimal
     **/
    BigDecimal totalAllPlatformHashRate();

    /**
     * @Description: 统计用户列表的有效算力T数
     * @Author: ty
     * @Date: 2021/5/8 16:02
     * @param: [memberIds, orderStatus]
     * @return: java.math.BigDecimal
     **/
    BigDecimal totalEffectiveHashRateByMemberIdsAndStatus(List<Integer> memberIds, List<Integer> orderStatus,String currentMonth);
}

